home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / thtmnu12.zip / MENU.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-04-18  |  4KB  |  241 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     String   STRING001
  24.     String   STRING002
  25.     String   STRING003
  26.     String   STRING004
  27.     String   STRING005
  28.     String   STRING006
  29.     String   STRING007
  30.     String   STRING008
  31.     String   STRING009
  32.     String   STRING010
  33.     String   STRING011
  34.     String   STRING012
  35.     String   STRING013
  36.     String   STRING014
  37.     String   STRING015
  38.  
  39. ;------------------------------------------------------------------------------
  40.  
  41.     STRING015 = Chr(64) + Chr(88) + Chr(48) + I2S(8, 36) + Chr(65) + Chr(76) + Chr(84) + Chr(45) + Chr(77) + Chr(101) + Chr(110) + Chr(117) + " " + Chr(118) + Chr(49) + Chr(46) + Chr(50) + Chr(48)
  42.     GetUser
  43.     STRING014 = ReadLine(PPEPath() + PPEName() + ".cfg", 4)
  44.     STRING010 = ReadLine(PPEPath() + PPEName() + ".cfg", 2)
  45.     STRING011 = ReadLine(PPEPath() + PPEName() + ".cfg", 3)
  46.     :LABEL001
  47.     DefColor
  48.     StartDisp 1
  49.     If (Exist(PPEPath() + PPEName() + ".nws")) Then
  50.         DispFile PPEPath() + PPEName() + ".nws", 4 + 2
  51.         Newline
  52.         Wait
  53.     Endif
  54.     Cls
  55.     If (Exist(PPEPath() + PPEName() + ".hdr")) DispFile PPEPath() + PPEName() + ".hdr", 4 + 2
  56.     STRING002 = GetY() + 1
  57.     STRING003 = STRING002
  58.     If (Exist(PPEPath() + PPEName() + ".dsp")) DispFile PPEPath() + PPEName() + ".dsp", 0
  59.     If (Exist(PPEPath() + PPEName() + ".dsp")) Then
  60.         INTEGER004 = GetY() - 4
  61.     Else
  62.         INTEGER004 = 20
  63.     Endif
  64.     AnsiPos 57, STRING003 - 1
  65.     Print Chr(64) + Chr(88) + Chr(48) + I2S(8, 36) + I2S(12, 36) + I2S(24, 26) + I2S(13, 36) + I2S(14, 36) + I2S(13, 36) + Chr(64) + Chr(88) + Chr(48) + I2S(15, 36) + " " + I2S(11, 36) + I2S(34, 36) + Chr(64) + Chr(88) + Chr(48) + I2S(15, 36) + " " + I2S(29, 36) + I2S(17, 36) + I2S(14, 36) + Chr(64) + Chr(88) + Chr(48) + I2S(8, 36) + " " + I2S(22, 36) + I2S(10, 36) + I2S(28, 36) + I2S(29, 36) + I2S(14, 36) + I2S(27, 36)
  66.     AnsiPos 33, STRING003 - 1
  67.     Print STRING015
  68.     FClose 1
  69.     FOpen 1, PPEPath() + PPEName() + ".dat", 0, 0
  70.     STRING001 = 1
  71.     STRING004 = 2
  72.     :LABEL002
  73.     If (Ferr(1)) Goto LABEL004
  74.     FGet 1, STRING013
  75.     If (STRING013 == "") Goto LABEL003
  76.     AnsiPos STRING004, STRING002
  77.     Print STRING010 + "(" + STRING011 + STRING001 + STRING010 + ")@X07 " + STRING013
  78.     Inc STRING002
  79.     If (STRING014 == YesChar()) Inc STRING002
  80.     Inc STRING001
  81.     If ((STRING002 >= INTEGER004 + 3) && (STRING004 == 28)) Then
  82.         STRING004 = 54
  83.         STRING002 = STRING003
  84.     Endif
  85.     If (STRING002 >= INTEGER004 + 3) Then
  86.         STRING004 = 28
  87.         STRING002 = STRING003
  88.     Endif
  89.     :LABEL003
  90.     Goto LABEL002
  91.     :LABEL004
  92.     Newline
  93.     FClose 1
  94.     FOpen 1, PPEPath() + PPEName() + ".cfg", 2, 0
  95.     FGet 1, STRING006
  96.     FGet 1, STRING009
  97.     FGet 1, STRING009
  98.     FGet 1, STRING009
  99.     :LABEL005
  100.     AnsiPos 1, INTEGER004 + 4
  101.     Print Space(78)
  102.     AnsiPos 1, INTEGER004 + 4
  103.     STRING012 = ""
  104.     InputStr STRING006, STRING012, "", 2, "1234567890", 0
  105.     If (STRING012 == "") Stop
  106.     If (STRING012 > STRING001 - 1) Goto LABEL005
  107.     INTEGER001 = 1
  108.     INTEGER002 = 1
  109.     If (Ferr(1)) Goto LABEL010
  110.     :LABEL006
  111.     FGet 1, STRING013
  112.     If (STRING013 == "") Goto LABEL010
  113.     If ((INTEGER001 == STRING012) || (INTEGER002 == STRING012)) Then
  114.         STRING005 = Left(STRING013, 1)
  115.         Tokenize STRING013
  116.         If (TokCount() == 3) Then
  117.             GetToken STRING007
  118.             GetToken STRING009
  119.             GetToken STRING008
  120.         Else
  121.             GetToken STRING007
  122.             GetToken STRING008
  123.         Endif
  124.         If (CurSec() < STRING008) Then
  125.             DispFile PPEPath() + PPEName() + ".lvl", 4
  126.         Else
  127.             If ((STRING005 == "%") || (STRING005 == "!")) Goto LABEL007
  128.             If (STRING005 == "?") Goto LABEL008
  129.             Tokenize STRING013
  130.             If (TokCount() == 4) WrUSysDoor STRING007
  131.             If (TokCount() == 3) WrUSys
  132.             If ((((TokCount() == 4) || (TokCount() == 3)) || (TokCount() == 2)) || (TokCount() == 1)) Shell 1, INTEGER003, PPEPath() + STRING007 + ".bat", ""
  133.             If ((TokCount() == 3) || (TokCount() == 4)) RdUSys
  134.             Goto LABEL010
  135.             :LABEL007
  136.             DispStr STRING007
  137.             If (STRING005 == "%") Then
  138.                 Newline
  139.                 Wait
  140.             Endif
  141.             Goto LABEL009
  142.             :LABEL008
  143.             STRING007 = Strip(STRING007, "?")
  144.             KbdStuff "DOOR " + STRING007 + Chr(13)
  145.             Stop
  146.             :LABEL009
  147.             Inc INTEGER001
  148.         Else
  149.             Inc INTEGER002
  150.             Goto LABEL006
  151.         Endif
  152.     Endif
  153.     :LABEL010
  154.     FClose 1
  155.     Goto LABEL001
  156.     End
  157.  
  158. ;------------------------------------------------------------------------------
  159. ;
  160. ; Usage report (before postprocessing)
  161. ;
  162. ; ■ Statements used :
  163. ;
  164. ;    1       End
  165. ;    1       Cls
  166. ;    2       Wait
  167. ;    24      Goto 
  168. ;    19      Let 
  169. ;    4       Print 
  170. ;    23      If 
  171. ;    4       DispFile 
  172. ;    2       FOpen 
  173. ;    3       FClose 
  174. ;    6       FGet 
  175. ;    1       StartDisp 
  176. ;    1       GetUser
  177. ;    1       DefColor
  178. ;    1       InputStr 
  179. ;    5       Inc 
  180. ;    3       Newline
  181. ;    2       Tokenize 
  182. ;    5       GetToken 
  183. ;    1       Shell 
  184. ;    2       Stop
  185. ;    1       KbdStuff 
  186. ;    1       DispStr 
  187. ;    5       AnsiPos 
  188. ;    1       WrUSys
  189. ;    1       RdUSys
  190. ;    1       WrUSysDoor 
  191. ;
  192. ;
  193. ; ■ Functions used :
  194. ;
  195. ;    94      +
  196. ;    4       -
  197. ;    20      ==
  198. ;    1       <
  199. ;    1       >
  200. ;    2       >=
  201. ;    10      !
  202. ;    1       &&
  203. ;    6       ||
  204. ;    1       Left()
  205. ;    1       Space()
  206. ;    2       Ferr()
  207. ;    29      Chr()
  208. ;    1       YesChar()
  209. ;    1       Strip()
  210. ;    14      PPEPath()
  211. ;    3       ReadLine()
  212. ;    1       CurSec()
  213. ;    4       Exist()
  214. ;    21      I2S()
  215. ;    2       GetY()
  216. ;    13      PPEName()
  217. ;    9       TokCount()
  218. ;
  219. ;------------------------------------------------------------------------------
  220. ;
  221. ; Analysis flags : S
  222. ;
  223. ; S - Shell to DOS ■ 5
  224. ;     This may be normal if the PPE need to execute an external command,
  225. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  226. ;     or usefull (sorting, maintenance,...). Check!
  227. ;     ■ Search for : SHELL
  228. ;
  229. ;------------------------------------------------------------------------------
  230. ;
  231. ; Postprocessing report
  232. ;
  233. ;    0       For/Next
  234. ;    0       While/EndWhile
  235. ;    8       If/Then or If/Then/Else
  236. ;    0       Select Case
  237. ;
  238. ;------------------------------------------------------------------------------
  239. ;                 AEGiS Corp - Break the routines, code against the machines!
  240. ;------------------------------------------------------------------------------
  241.